/*
 * 注意：
 * 1. 所有的JS接口只能在公众号绑定的域名下调用，公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
 * 2. 如果发现在 Android 不能分享自定义内容，请到官网下载最新的包覆盖安装，Android 自定义分享接口需升级至 6.0.2.58 版本及以上。
 * 3. 完整 JS-SDK 文档地址：http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
 *
 * 如有问题请通过以下渠道反馈：
 * 邮箱地址：weixin-open@qq.com
 * 邮件主题：【微信JS-SDK反馈】具体问题
 * 邮件内容说明：用简明的语言描述问题所在，并交代清楚遇到该问题的场景，可附上截屏图片，微信团队会尽快处理你的反馈。
 */

wx.error(function(res) {
	alert(res.errMsg);
});

//绑定设备与设施到数据库
function myScanQRCode(facId,facDesc,eventId,modId) {
	var longitude="";
	var latitude="";
	var accuracy="";
	var resultStr="";
	//获取地理位置信息
	wx.getLocation({
		success : function(res) {
			//alert(JSON.stringify(res));
			longitude = res.longitude;
			latitude = res.latitude;
			accuracy = parseInt(res.accuracy);
			
			//alert("accuracy:"+accuracy);
			//alert("{longitude:"+longitude+",latitude:"+latitude+"}");
		},
		cancel : function(res) {
			alert('用户拒绝授权获取地理位置');
		}
	});
	
	

	//扫一扫返回数据
	wx.scanQRCode({
		needResult : 1,
		desc : 'scanQRCode desc',
		success : function(res) {
			//alert(JSON.stringify(res));
			resultStr =  res.resultStr;
			//获取devCode
			var devCode=cutCode(resultStr);

			if(devCode!=""){
				goBind(longitude,latitude,devCode,facId,facDesc,eventId,modId,accuracy);
			}else{
				alert("没有提取到设备码");
			}
			
			
		}
	});
}

//跳转到绑定设备页面
function goBind(longitude,latitude,resultStr,facId,facDesc,eventId,modId,accuracy){
	//window.location.href="${basePath}${session.user.roleId}/devicebind.do?longitude="+longitude+"&latitude="+latitude+"&resultStr="+resultStr;
	//window.location.href="http://www.baidu.com";
	window.location.href= mbasePath+roleId+"/devicebind?longitude="+longitude+"&latitude="+latitude+"&resultStr="+resultStr+"&facId="+facId+"&facDesc="+facDesc
	+"&eventId="+eventId+"&modId="+modId+"&accuracy="+accuracy;
}

//扫码解除设备绑定
function unchainBind(facId,facDesc,eventId,deviceId){
	//alert("执行unchainBind方法"+facId+"，"+facDesc);
	//扫一扫返回数据
	var resultStr="";
	wx.scanQRCode({
		needResult : 1,
		desc : 'scanQRCode desc',
		success : function(res) {
			//alert(JSON.stringify(res));
			resultStr =  res.resultStr;
			//写到input（hidden）value
			// $("#text_id").val(); 
			//var jsonInfo = JSON.stringify("{longitude:"+longitude+",latitude:"+latitude+",resultStr:"+resultStr+"}");
			
			//获取devCode
			var devCode=cutCode(resultStr);
			if(devCode!=""){
				  var r=confirm("是否解除绑定？ "+devCode)
				  if (r==true)
				    {
					  unBind(devCode,facId,facDesc,eventId,deviceId);
				    }
				  else
				    {
				    
				    }
			}else{
				alert("没有提取到设备码");
			}

		}
	});
	
	
}

function unBind(resultStr,facId,facDesc,eventId,deviceId){
	$.ajax({
		type:'post',
		dataType:'json',
		cache: false,
		data:{"facId":facId,"resultStr":resultStr,"eventId":eventId,"deviceId":deviceId},
		url:mbasePath+"ajaxunchainBind",
		success:function(data){
			
			if(data.toString()=="error"){
				alert("请确保您有使用权限，请扫描正确的二维码");
			}else{
				
				$("#"+eventId+"unchainbind").text("绑定");
				$("#"+eventId+"unchainbind").attr('onclick','').click(eval(function(){ myScanQRCode($("#"+eventId+"hidden1").text(),$("#"+eventId+"hidden2").text(),$("#"+eventId+"hidden3").text(),$("#"+eventId+"hidden4").text())}));
				$("#"+eventId+"dev").text("未绑定");
				alert(facDesc + ",已被解除绑定！");
			}
		}
	});
}


/*通过扫码打开门禁设备锁*/
function unlock(openid){
	wx.scanQRCode({
		needResult : 1,
		desc : 'scanQRCode desc',
		success : function(res) {			
			//获取devCode
			var devCode=cutCode(res.resultStr);
			if(devCode!=""){
				unlockDoor(devCode,openid);
			}else{
				alert("没有提取到设备码");
			}
			
			
		}
	});
}

function unlockDoor(devCode,openid){
	alert(devCode+'/'+openid);
	 $.ajax({
			type:'post',
			dataType:'json',
			cache:false,
			data:{"devCode":devCode,"openid":openid},
			url:mbasePath+"unlockdoor",
			success:function(data){
				//alert(data);
				if(data == 0){
					if(confirm("您没有操作此设备权限，是否申请？")){
						applyTempAuth(devCode,openid);
					}else{}
				}else{
					alert(data);
				}
			}
		});
}

/*申请开门的临时权限*/
function applyTempAuth(devCode,openid){
	$.ajax({
		type:'post',
		dataType:'json',
		cache:false,
		data:{"devCode":devCode,"openid":openid},
		url:mbasePath+"ajaxapplytempauth",
		success:function(data){
			alert(data);
		}
	});
}

/*跳转到申请删除他人绑定的设备的功能*/
function applyunbind(){
	window.location.href= mbasePath+roleId+"/applyunbind";
}

/*跳转到申请删除他人绑定的设备的功能*/
function manageregion(){
	window.location.href= mbasePath+roleId+"/manageregion";
}

/*跳转到施工人处理故障页面*/
function managefault(){
	window.location.href= mbasePath+roleId+"/managefault";
}


/*使用正则表达式匹配二维码扫描得到的数据，获取设备code*/
function cutCode(message){
	//匹配网址
	var urlRegex = "https?://[a-zA-Z0-9]*\.[a-zA-Z0-9]*\.[a-zA-Z0-9]*/siotwx/OpenDoor_[A-Z][0-9]{5}\.do";
	//字符串完全匹配设备code
	var devCodeRegex = "^[A-Z][0-9]{5}$";
	//字符串部分匹配设备code
	var devCodeRegex2 = "[A-Z][0-9]{5}";
	
	//直接匹配设备code
	if(message.search(devCodeRegex)>=0){
		//说明匹配到了，直接返回
		return message;
	}else{
		//没有匹配到code则去匹配url
		var devCode="";
		if(message.search(urlRegex)>=0){
			//如果匹配到url,就从URL中提取设备code
			var index=message.search(devCodeRegex2);
			if(index>=0){
				devCode = message.substring(index,index+6);
				
			}
			
		}
		
		return devCode
	}
	
}

